###   Q́@K 

###@K2.1@

"Rgev" <- function(n = 500, m = 10, s = 2, xi = 0.2, seed = 22)
{
####    GEV(m, s, xi)        
	set.seed(seed)
	E <- rexp(n)
	gev0 <- (E^(- xi) - 1)/xi
	gev <- m + s * gev0
	gev
}  

###   GEV(m, s, xi) ɏ]
data <- Rgev(n = 500, m = 10, s = 0.2, xi = 0.2, seed = 22)
###@ ܂
data <- Rgev(500)

###   ΓxŃqXgO`
hist(data, probability = T)



###  K2.2@
 
"R5gev" <- function(n = 500, m = 10, s = 2, xi = 0.2, seed = 22)
{ 
###     5GEV(m, s, xi)   
	set.seed(seed)
	M1 <- NULL
	M2 <- NULL
	M3 <- NULL
	M4 <- NULL
	M5 <- NULL
for(i in 1:n){
	E <- rexp(5)  
	S <- cumsum(E)
m1 <-  (S[1]^(-xi) - 1)/xi
m2 <-  (S[2]^(-xi) - 1)/xi
m3 <-  (S[3]^(-xi) - 1)/xi
m4 <-  (S[4]^(-xi) - 1)/xi
m5 <-  (S[5]^(-xi) - 1)/xi
	M1 <- c(M1, m1)
	M2 <- c(M2, m2)
	M3 <- c(M3, m3)
	M4 <- c(M4, m4)
	M5 <- c(M5, m5)
}
	rgev0 <- cbind(M1, M2, M3, M4, M5)
	rgev <- m + s * rgev0
	rgev
} 


###@@5ʂ܂ł̗500g
data <- R5gev(n = 500, m = 10, s = 2, xi = 0.2, seed = 22)

###    2 x 2 4̐}\`
par(mfrow = c(2, 2))

###@@̂Pځ@data[ , 1] oăqXgO`
hist(data[ , 1], probability = T)

###@@2ځ@data[ , 2] oăqXgO`
hist(data[ , 2], probability = T)

###@@ȉl
hist(data[ , 3], probability = T)

hist(data[ , 4], probability = T)



###@@`̎Uz}`
par(pty="s")

###    1ʂ̃f[^100 data[1:100, 1] 2ʂ̃f[^100 data[1:100, 2] ̑g̎Uz}`
plot(data[1:100, 1], data[1:100, 2])

###@@2ʂ3
plot(data[1:100, 2], data[1:100, 3])

###@@ȉlɂā@
plot(data[1:100, 3], data[1:100, 4])

plot(data[1:100, 4], data[1:100, 5])


###     Ƃɖ߂@    
par(mfrow = c(1, 1), pty = "m")


###  K2.3@

"Rgpd" <- function(n = 500,  s = 2, xi = 0.2, seed = 22)
{
####    GP(s, xi)        
	set.seed(seed)
	U <- runif(n)
	gpd0 <- (U^(- xi) - 1)/xi
	gpd <-  s * gpd0
	gpd
}


###@@ GP(s, xi) ɏ]
data <- Rgpd(n = 500,  s = 2, xi = 0.2, seed = 22)

###@@ qXgO`
hist(data, probability = T)









###  Ŕ@K@

###    uKp֐vׂ̂ĂƊ֐ R5gev ǂݍ    

#####  @GEVf  rGEVf

###      5ʂ܂ł̗𐶐
data5 <- R5gev(n = 100, m = 10, s = 2, xi = 0.2, seed = 33)

###      ʂPʂoiNőf[^ƍlj
data1 <- data5[ , 1]

###@@@Oxmւ̃vbg
gumQ(data1)
@@
###      GEVfŉ͂
a1 <- gev.fit(data1)

###@@@ff}`
cgev.diag(a1) 

###      vt@Cޓxɂ`p[^95%MԂ߂
cgev.profxi(a1, xlow = 0.12, xup = 0.52, conf = 0.95, nint = 500) 

###@@@vt@Cޓxɂ200NČԂ95%Mԁ@
cgev.prof(z = a1, m = 200, xlow = 22, xup = 59, conf = 0.95, nint = 500) 


###      5̃f[^rGEV fŉ͂
a2 <- rlarg.fit(data5, 5)





#######@@GPf

###     f[^
seed <- 21
set.seed(seed)
###     250 * 10 N 
n <- 250 * 10
xi <- 1/4
df <- 1/xi
##  Rx df ̂z痐 n  
data3 <- rt(n, df)
hist(data3)


###  ̒lɑ΂ĕW{ϒߊ֐`ƌȂ镔T@@@
mrl.plot(data3, 0)   

###  臒ľ͈͂ [1, 5] ƍl
gpd.fitrange(data = data3, umin = 1, umax = 5, nint = 9)


###@臒l@u = 1.5 ƑICGPfŉ́@  
a3 <- gpd.fit(xdat= data3, threshold = 1.5, npy = 250) 

###  ff}`āC`FbN
cgpd.diag(a3)

###@@vt@Cޓxɂ`p[^95%M 
cgpd.profxi(a3, xlow = 0.05, xup = 0.37, conf = 0.95, nint = 500)  

###@@vt@Cޓxɂ20NČԂ95%M
cgpd.prof(a3, m = 20, xlow = 7, xup = 18, npy = 250, conf = 0.95,  nint = 500) 









#######@@Ś@K

#####@uKp֐v cgev.diag ǂݍށ@@


###@@@f[^Ƃ闐̐
seed <- 4
set.seed(seed)
##  M210
b0 <- 100
b1 <-   5
b2 <-  50
g0 <-   3
g1 <-   1
xi <- 0.2
n <- 200
tn <- (1:n)/n
mt <- b0 + b1 * tn + b2 * tn^2
st <- exp(g0 + g1 * tn)
data4 <- mt + st * (rexp(n)^(- xi) - 1)/xi 


###@@@nvbg
plot(tn, data4, type ="l", xlab = "n", ylab = "")

###      Oxmւ̃vbg
gumQ(data4)
###      탂fl


###      탂fŉ͂邽߂̏
xdat <- data4
cov <- cbind(tn, tn^2)@@@@@@@

###@@@ef̉ŉ͂

#M000
a000 <- gev.fit(xdat)

#M100
a100 <- gev.fit(xdat, ydat=cov , mul=1)

#M010
a010 <- gev.fit(xdat, ydat=cov, sigl=1, siglink=exp)

#M001
a001 <- gev.fit(xdat, ydat=cov, shl=1)

#M200
a200 <- gev.fit(xdat, ydat=cov, mul=c(1, 2))

#M110
a110 <- gev.fit(xdat, ydat=cov, mul=1, sigl=1, siglink=exp)

#M101
a101 <- gev.fit(xdat, ydat=cov, mul=1, shl=1)

#M011
a011 <- gev.fit(xdat, ydat=cov, sigl=1, siglink=exp, shl=1)

#M210
a210 <- gev.fit(xdat, ydat=cov, mul=c(1, 2), sigl=1, siglink=exp)

#M201
a201 <- gev.fit(xdat, ydat=cov, mul=c(1, 2), shl=1)

#M111
a111 <- gev.fit(xdat, ydat=cov, mul=1, sigl=1, siglink=exp, shl=1)

#M211
a211 <- gev.fit(xdat, ydat=cov, mul=c(1, 2), sigl=1,  siglink=exp, shl=1)

###@@@AICvZăfIs


###@@@AICŏfM210̐ff
cgev.diag(a210)

###@@@fM000̐ff
cgev.diag(a000)






####  T́@f[^  

###@@uKp֐vׂ̂Ă̊֐ǂݍށD܂uDATAv́@KobeM  cTokyow ǂݍށD

###     _˂̓~

###@@@Nő~
data <- KobeM
###      Oxmւ̃vbg
gumQ(data)

###@@@GEVfŉ
k000 <- gev.fit(data)

###@@@GEVf̐ff
cgev.diag(k000)

###@@@vt@Cޓxɂ`p[^95%M
cgev.profxi(k000, xlow = 0.05, xup = 0.38, conf = 0.95, nint = 500)

###@@@vt@Cޓxɂ200NČx95%M
cgev.prof(k000, m = 200, xlow = 245, xup = 565, conf = 0.95, nint = 500)



###@@_˂̓~ʃf[^̓ǂݍ݁D@t^A.7Q
data <- scan("C:KobeO.TXT")

###@@ϒ߃vbg@
mrl.plot(data)

###@@ [30, 100] ̕ϒ߃vbg
mrl.plot(data, umin = 30, umax = 100)

###@@臒lωďCړxƌ`p[^̐
gpd.fitrange(data, umin=20, umax=90, nint = 15)

###@@臒l40ƂāCGPfŉ
a00 <- gpd.fit(xdat = data, threshold = 40, npy = 365.25)

###@@͌ʂ̐ff
cgpd.diag(a00)

###@@@vt@Cޓxɂ`p[^95%M
cgpd.profxi(a00, xlow = 0.11, xup = 0.32, con = 0.95, nint = 500)

###@@@vt@Cޓxɂ200NČx95%M
cgpd.prof(a00, m = 200, xlow = 260, xup = 500, npy = 365.25, conf = 0.95, nint = 500) 




###     ̔Nő啗

xdat <- cTokyow
###     Oxmւ̃vbg
gumQ(xdat)

###     탂fŉ͂̏
Tw1 <- (1 : 71)/71;  Tyear <- cbind(Tw1, Tw1^2) 

#M000
t000 <- gev.fit(xdat)

#M100
t100 <- gev.fit(xdat, ydat = Tyear, mul = 1)

#M010
t010 <- gev.fit(xdat, ydat = Tyear, sigl = 1, siglink = exp)

#M001
t001 <- gev.fit(xdat, ydat = Tyear, shl = 1)

#M200
t200 <- gev.fit(xdat, ydat = Tyear, mul = c(1, 2))

#M110
t110 <- gev.fit(xdat, ydat = Tyear, mul = 1, sigl = 1, siglink = exp)

#M101
t101 <- gev.fit(xdat, ydat = Tyear, mul = 1, shl = 1)

#M011
t011 <- gev.fit(xdat, ydat = Tyear, sigl = 1, siglink = exp, shl = 1)

#M210
t210 <- gev.fit(xdat, ydat = Tyear, mul = c(1, 2), sigl = 1, siglink = exp)

#M201
t201 <- gev.fit(xdat, ydat = Tyear, mul = c(1, 2), shl = 1)

#M111
t111 <- gev.fit(xdat, ydat = Tyear, mul = 1, sigl = 1, siglink = exp, shl = 1)

#M211
t211 <- gev.fit(xdat, ydat = Tyear, mul = c(1, 2), sigl = 1, siglink = exp, shl = 1)


###@@  AICŏf̐ff 
cgev.diag(t201)

